1. Field of the Invention
The present invention relates to a robot control apparatus and more particularly to a robot control apparatus and method of controlling the force of a robot on a task coordinate system and the generating force of a servo motor for driving a joint based on a torque set value.
2. Description of the Related Art
In a conventional robot, a control has been carried out by a position and speed control system for each joint axis of the robot. When carrying out playback reproduction for spot welding or seam welding having a contact with a work by means of such a control system, a great toque is generated by a gain set to be great in order to increase precision in positioning or the action of an integrator if there is the shift of the position of a work itself or the shift of a position in which the robot holds the work. When the great torque is generated, it is hard to carry out a work due to the deformation of the work, the generation of a welding defect or welding. In some cases, consequently, there is a danger that a tool or a robot might be broken. In a teaching work for an instructor to move the robot to a work position, moreover, it is necessary for the instructor to carefully move the control point of a spot gun to the hitting point of the work, thereby registering a position. Therefore, there is a danger that a gun electrode might be pushed against the work by mistake, resulting in deformation. For this reason, the degree of physical and mental fatigue is very high.
For such a problem, examples of a method of flexibly controlling a force by a task coordinate system without adding a special device to a robot include a method of setting a flexibility (spring constant) in an axial direction on each coordinate of the task coordinate system to specify an adapting property to an external force for individual axes in a space as shown in FIG. 10, or disclosure in JP Hei8-227320 or JP 2000-005881.
As a method of estimating an external force to carry out a force control, there is a method capable of estimating a random to the motor of each axis of a joint coordinate system by a random observer, thereby converting a random estimation value into the external force estimation value of a task coordinate system by a coordinate transformation using a Jacobian matrix such as shown in JP Hei11-58285 or JP Hei9-103945.
As described in JP Hei8-227320 or JP2000-005881, concerning the method of setting a flexibility (spring constant) by a task coordinate system to specify an adapting property to an external force in individual directions in a space, a torque generated by a servo motor is proportionally increased when a positional deviation is increased. Therefore, there is a problem in that a countermeasure cannot be taken when the positional deviation (moving distance) made by the external force is great. In the case in which a peripheral apparatus and a work are to be removed to release a contact state, moreover, a robot generates a force for returning to the original place of a position command. Consequently, there is a problem in that the robot impacts with the peripheral apparatus and the work again, resulting in the breakage of the peripheral apparatus and the work.
Moreover, Hei11-58285 and JP Hei9-103945 have disclosed a method of estimating the random of a joint coordinate system by a random observer, thereby converting a random estimation value into the external force estimation value of a task coordinate system by a coordinate transformation using the Jacobian matrix. In these conventional examples, there is a problem in that a lag is also generated on a detecting time by the use of a filter, and furthermore, the influence of a friction or a gravity is great so that an accurate external force estimation value cannot be obtained.